package com.yonyou.isv.demo.openapi.pojo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * @author nishch
 * @version 1.0
 * @date 2020/3/11
 * @des  采购订单表头
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class PurchaseOrderBo{
    private String org; //采购组织ID
    private String org_name; //采购组织名称
    private String bustype; //交易类型Id
    private String bustype_name; //交易类型名称
    private String vouchdate; //单据日期
    private String code; //订单编号
    private String vendor; //供货供应商ID
    private String vendor_name; // 	供货供应商名称
    private long operatorId; //采购员ID
    private long operator; //采购员ID
    private String operator_name; //采购员名称
    private String creator; //创建人名称
    private long creatorId; //创建人ID
    private String currency_moneyDigit; //币种金额精度
    private String currency_priceDigit; //币种单价精度
    private String natCurrency_moneyDigit; //本币金额精度
    private String natCurrency_priceDigit; // 	本币单价精度
    private String currency; //币种Id
    private String currency_code; // 	币种编码
    private String currency_name; //币种
    private String natCurrency; //本币
    private String natCurrency_code; //本币编码
    private String natCurrency_name; //本币名称
    private String exchRateType; //汇率类型ID
    private String exchRateType_name; //汇率类型名称
    private String exchRate; // 汇率
    private double taxRate; //税率
    private List<PurchaseOrderBody> purchaseOrders;
    private String _status; //操作状态
    private long invoiceVendor; // 	开票供应商id
    private String invoiceVendor_name; //开票供应商
    private long id; //ID
    private String pubts; //时间戳
    private float oriSum; // 	含税金额
    private float oriMoney; //无税金额
    private float natSum; //本币含税金额
    private float natMoney; // 	本币无税金额
    @JsonProperty("headItem!define1")
    private String headItem_define1; //自定义项1


    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class PurchaseOrderBody{
        private long id;  //ID
        private long mainid; //主表id
        private String inOrg;  //收货组织id
        private String inOrg_name; //收货组织名称
        private String org; //采购组织采购组织id
        private String org_name; //采购组织名称
        private String demandOrg; //需求组织id
        private String demandOrg_name; //需求组织名称
        private String inInvoiceOrg; //收票组织id
        private String inInvoiceOrg_name; //收票组织名称
        private String product_cCode;  //物料编码
        private long product;  //物料id
        private String product_cName; //物料名称
        private String product_oUnitId; // 	零售单位id
        private long unit;  //主计量单位id
        private String unit_name; //主计量单位名称
        private String unit_code; //主计量单位编码
        private String purUOM; //采购单位id
        private String purUOM_Name; // 采购单位名称
        private String purUOM_Code; //采购单位编码
        private long priceUOM; //计价单位id
        private String priceUOM_Name; //计价单位名称
        private String priceUOM_Code; //计价单位编码
        private float oriUnitPrice; //无税单价
        private float oriTaxUnitPrice; //含税单价
        private float natUnitPrice; //本币无税单价
        private float natTaxUnitPrice; // 本币含税单价
        private float oriMoney; //无税金额
        private float oriSum; //含税金额
        private float natMoney; //本币无税金额
        private float natSum; // 	本币含税金额
        private float oriTax; //税额
        private float natTax; //本币税额
        private int invExchRate; //采购换算率
        private float qty; //数量
        private float subQty; //采购数量
        private float priceQty; //计价数量
        private long bustype; // 	交易类型
        private String bustype_name; // 	交易类型名称
        private long invoiceVendor; //开票供应商id
        private int modifyStatus; //修改状态
        private int totalQuantity; //总数量
        private long vendor; // 	供货供应商
        private String vendor_name; // 	供货供应商名称
        private float natCurrency_moneyDigit; //本币金额精度
        private float natCurrency_priceDigit; //本币单价精度
        private float currency_moneyDigit; //币种金额精度
        private float unit_Precision; //主计量精度
        private float moneysum; //金额
        private String natCurrency; //本币id
        private String natCurrency_code; // 	本币编码
        private String natCurrency_name; //本币名称
        private String code; //订单编号
        private String currency; //币种id
        private String currency_code; //币种编码
        private String currency_name; //币种名称
        private String vouchdate; // 	单据日期
        private float totalInQty; //累计入库数量
        private String pubts; //时间戳
        private String creator; //创建人
        private String creatorId; //创建人id
        private long operator; //采购员
        private String  operator_name; //采购员名称
        private String _status; //操作状态
        private int rowno; //行号
        private double unitExchangeType; //采购单位转换率的换算方式
        private double unitExchangeTypePrice; //计价单位转换率的换算方式
    }


}
